26 research outputs found
Gems of Corrado B\"ohm
The main scientific heritage of Corrado B\"ohm consists of ideas about
computing, concerning concrete algorithms, as well as models of computability.
The following will be presented. 1. A compiler that can compile itself. 2.
Structured programming, eliminating the 'goto' statement. 3. Functional
programming and an early implementation. 4. Separability in {\lambda}-calculus.
5. Compiling combinators without parsing. 6. Self-evaluation in
{\lambda}-calculus
Lazy Evaluation and Delimited Control
The call-by-need lambda calculus provides an equational framework for
reasoning syntactically about lazy evaluation. This paper examines its
operational characteristics. By a series of reasoning steps, we systematically
unpack the standard-order reduction relation of the calculus and discover a
novel abstract machine definition which, like the calculus, goes "under
lambdas." We prove that machine evaluation is equivalent to standard-order
evaluation. Unlike traditional abstract machines, delimited control plays a
significant role in the machine's behavior. In particular, the machine replaces
the manipulation of a heap using store-based effects with disciplined
management of the evaluation stack using control-based effects. In short, state
is replaced with control. To further articulate this observation, we present a
simulation of call-by-need in a call-by-value language using delimited control
operations
A Focused Sequent Calculus Framework for Proof Search in Pure Type Systems
Basic proof-search tactics in logic and type theory can be seen as the
root-first applications of rules in an appropriate sequent calculus, preferably
without the redundancies generated by permutation of rules. This paper
addresses the issues of defining such sequent calculi for Pure Type Systems
(PTS, which were originally presented in natural deduction style) and then
organizing their rules for effective proof-search. We introduce the idea of
Pure Type Sequent Calculus with meta-variables (PTSCalpha), by enriching the
syntax of a permutation-free sequent calculus for propositional logic due to
Herbelin, which is strongly related to natural deduction and already well
adapted to proof-search. The operational semantics is adapted from Herbelin's
and is defined by a system of local rewrite rules as in cut-elimination, using
explicit substitutions. We prove confluence for this system. Restricting our
attention to PTSC, a type system for the ground terms of this system, we obtain
the Subject Reduction property and show that each PTSC is logically equivalent
to its corresponding PTS, and the former is strongly normalising iff the latter
is. We show how to make the logical rules of PTSC into a syntax-directed system
PS for proof-search, by incorporating the conversion rules as in
syntax-directed presentations of the PTS rules for type-checking. Finally, we
consider how to use the explicitly scoped meta-variables of PTSCalpha to
represent partial proof-terms, and use them to analyse interactive proof
construction. This sets up a framework PE in which we are able to study
proof-search strategies, type inhabitant enumeration and (higher-order)
unification
Semantics of a Typed Algebraic Lambda-Calculus
Algebraic lambda-calculi have been studied in various ways, but their
semantics remain mostly untouched. In this paper we propose a semantic analysis
of a general simply-typed lambda-calculus endowed with a structure of vector
space. We sketch the relation with two established vectorial lambda-calculi.
Then we study the problems arising from the addition of a fixed point
combinator and how to modify the equational theory to solve them. We sketch an
algebraic vectorial PCF and its possible denotational interpretations
Confluence via strong normalisation in an algebraic \lambda-calculus with rewriting
The linear-algebraic lambda-calculus and the algebraic lambda-calculus are
untyped lambda-calculi extended with arbitrary linear combinations of terms.
The former presents the axioms of linear algebra in the form of a rewrite
system, while the latter uses equalities. When given by rewrites, algebraic
lambda-calculi are not confluent unless further restrictions are added. We
provide a type system for the linear-algebraic lambda-calculus enforcing strong
normalisation, which gives back confluence. The type system allows an abstract
interpretation in System F.Comment: In Proceedings LSFA 2011, arXiv:1203.542
On the Relationship Between the Practice of Mindfulness Meditation and Personality-an Exploratory Analysis of the Mediating Role of Mindfulness Skills
Abstract Mindfulness meditation (MM) has often been suggested to induce fundamental changes in the way events in life are experienced and dealt with, presumably leading to alterations in personality. However, the relationship between the practice of MM and personality has not been systematically studied. The aim of this study was to explore this relationship and to investigate the mediating role of mindfulness skills. Thirty-five experienced mindfulness meditators (age range, 31-75 years; meditation experience range, 0.25-35 years; mean, ∼13 years) and 35 age-, gender-, and ethnicity-matched controls (age range, 27-63 years) without any meditation experience completed a personality (NEO-FFI) and mindfulness (KIMS) questionnaire. The practice of MM was positively related to openness and extraversion and negatively related to neuroticism and conscientiousness. Thus, the results of the current study associate the practice of MM with higher levels of curiosity and receptivity to new experiences and experience of positive affect and with less proneness toward negative emotions and worrying and a reduced focus on achievements. Furthermore, the mediating role of specific mindfulness skills in the relationship between the practice of MM and personality traits was shown
Intersection types for unbind and rebind
We define a type system with intersection types for an extension of
lambda-calculus with unbind and rebind operators. In this calculus, a term with
free variables, representing open code, can be packed into an "unbound" term,
and passed around as a value. In order to execute inside code, an unbound term
should be explicitly rebound at the point where it is used. Unbinding and
rebinding are hierarchical, that is, the term can contain arbitrarily nested
unbound terms, whose inside code can only be executed after a sequence of
rebinds has been applied. Correspondingly, types are decorated with levels, and
a term has type decorated with k if it needs k rebinds in order to reduce to a
value. With intersection types we model the fact that a term can be used
differently in contexts providing different numbers of unbinds. In particular,
top-level terms, that is, terms not requiring unbinds to reduce to values,
should have a value type, that is, an intersection type where at least one
element has level 0. With the proposed intersection type system we get
soundness under the call-by-value strategy, an issue which was not resolved by
previous type systems.Comment: In Proceedings ITRS 2010, arXiv:1101.410
Bindings as bounded natural functors
We present a general framework for specifying and reasoning about syntax with bindings. Abstract binder types are modeled using a universe of functors on sets, subject to a number of operations that can be used to construct complex binding patterns and binding-aware datatypes, including non-well-founded and infinitely branching types, in a modular fashion. Despite not committing to any syntactic format, the framework is “concrete” enough to provide definitions of the fundamental operators on terms (free variables, alpha-equivalence, and capture-avoiding substitution) and reasoning and definition principles. This work is compatible with classical higher-order logic and has been formalized in the proof assistant Isabelle/HOL